<?php
/**
 * Game_General
 *
 * Класс Game_General отвечает за основную информацию, связанную прежде всего с деревней
 *
 * @author Дмитрий Кузьма <kouzma.d@gmail.com>
 * @version 1.0
 */
class Game_General {
  public static $objGeneral;
  
  public $objPlace; // Информация по месту текущего пользователя
  public $objUser; // Информация по текущему пользователю
  //public $arrBuildings; // Массив отсроенных зданий
  
  /**
   * Конструктор - 
   *
   */
  private function __construct() {
  	// TODO определение пользователя, с которым работаем
  	$this->objUser = new Game_User(1);
  	$objDb = Service_Database::instance();
  	$placeId = $objDb->selectSimpleField("SELECT `ID_place` FROM `place` WHERE `ID_user` = '" . $this->objUser->id . "'");
    $this->objPlace = new Game_Place($placeId);
  }

  /**
   * Функция обеспечивает работу шаблона Singleton.
   * Благодаря ей у нас всегда будет только одно подключение к базе
   *
   * @return Service_Database
   */
  static public function instance() {
    if (!isset(self::$objGeneral)) self::$objGeneral = new Game_General();
    return self::$objGeneral;
  }
  
  /**
   * Оплатить некоторую покупку
   * 
   * @param Game_Resource $objResource - стоимость покупки
   */
  public function pay(Game_Resource $objResource) {
  	$this->objPlace->objResourcesWithProduction->decrease($objResource);
  	$this->objPlace->saveResourcesData();
  }
  
  
  
}
?>